GX Desk Pattern is a totally frivolous use of Appleユs amazing QuickDraw GX technology: it lets you use a QuickDraw GX graphic as your desktop pattern.
Whatユs so wonderful about this? Well, QuickDraw GX has lots of neat capabilities that the Macユs old Color QuickDraw graphics canユt touchムfor a start, youユre no longer restricted to fill patterns that form an axis-aligned rectangular grid with each side being a power of 2. But why take my word for it? Check out the enclosed samples and see for yourself!
System Requirements
To use GX Desk Pattern, you will need a Mac with QuickDraw GX installed. System 7.5 is recommended. GX Desk Pattern is configured by default to allocate 128K of memory for its own uses, and 128K of memory for QuickDraw GX; these amounts should be enough for most situations.
Installation
To install GX Desk Pattern, put a copy of the GX Desk Pattern extension in your Extensions folder and restart. You should see its icon appear at the bottom of the screen during the startup process. Your existing QuickDraw desktop pattern will be displayed until the first few Finder windows appear (unfortunately, QuickDraw GX doesnユt seem to be usable before this point); then GX Desk Pattern will kick in and redraw the desktop with its pattern.
Setting the desktop pattern
You can use the enclosed GX Desk Control application to configure GX Desk Pattern. When you start up GX Desk Control, it will automatically open a window showing the settings for the copy of GX Desk Pattern running on the same machine (if any):
ハ
The big panel on the left shows the current GX desktop pattern. You can drag a graphic from another program (such as one of the enclosed Finder clippings) into this panel to install a new pattern, or you can paste it in via the Clipboard.
The knob on the right allows you to set the rotation angle of the pattern. The メChoose Colourモ button lets you select the background colour, which may or may not have an effect on the pattern (see the enclosed sample patterns for some examples).
Once you are satisfied with your changes, you can send your settings to the GX Desk Pattern extension by clicking the メSet Desktop Patternモ button. The メGet Desktop Patternモ button at the top retrieves the current settings from the GX Desk Pattern extension.
GX Desk Control will accept a QuickDraw GX graphic from another GX-savvy program. You can also bring in an ordinary QuickDraw picture, which will be converted to a GX graphic.
If youユre a fan of Avernusユ メDesktop Texturesモ collections (as I am), you can use their Texture Installer 2.1 to copy a texture to the Clipboard, and paste it into GX Desk Control (hopefully, a future version of Texture Installer will support direct drag-and-drop!). The result looks much the same as though GX Desk Pattern were not installedムuntil you start messing around with the rotation knob.
Note that all communication between GX Desk Pattern and GX Desk Control occurs via standard AppleEvents; this means you can use GX Desk Control to control a copy of GX Desk Pattern running on another machine on your network, provided that other machine has program linking turned on.
This also means that you can write your own AppleScript scripts to control GX Desk Pattern, without going through GX Desk Control. GX Desk Pattern installs itself partly as a conventional memory-resident piece of INIT code, and partly as a scriptable メfaceless background applicationモ. You can open its dictionary in the AppleScript Script Editor to see the functions available, or try the sample applets that I have provided. (Note that GX Desk Control is not scriptable, since I couldnユt see any pointムyou might as well script the extension directly.)
I have enclosed a few sample scripts for you to try, or use as starting points for your own scripts.
Licensing
GX Desk Pattern is being distributed as shareware. Try it for up to 30 days, and if you like it, send me US$15 at the address below.
Note that GX Desk Pattern patches a couple of system calls, so it could be a source of incompatibilities with other software. For this reason, feel free to satisfy yourself that it works with your setup before sending me any money. If you find any incompatibilities, let me know, whether or not youユve paid. If, within 30 days after I receive payment from you, you discover an incompatibility which I cannot promptly fix, which renders you unable to continue using GX Desk Pattern with your normal setup, tell me, and Iユll refund your money. Canユt say fairer than that, can I?
Known Problems
The GX desktop pattern is not displayed on a screen set to black-and-white (1 bit per pixel). To fix this would require patching a couple more traps, and Iユm not sure if itヤs worth it. Do you really want to use GX Desk Pattern on a black-and-white screen? Feel free to let me know.
If you have two screens set to exactly the same pixel depth, then some of the patterns may not draw properly on the second screen. Specifically, in areas corresponding to those covered by windows on the first screen, you will see the patternユs fill colour, but not its fill shape. I believe this is a bug in QuickDraw GX, present in versions up to at least 1.1.3. If youユre running both screens in 16 or 32 bits per pixel, you can work around the problem by setting the second screen to メgreysモ rather than メcoloursモ; this shouldnユt make any difference to the appearance of colour on that screen, but it avoids triggering the bug.
Development History
Z-2.0 1995 November 21: first general public release. Thanks to Cary Clark, Stephen Sample and Rick Zeman for their bug reports. Thanks to John Blackburn for his user interface suggestions. Thanks to all my testers for giving me the confidence to perpetrate such a hack.